package com.xmcc.common;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

/**
 * 统一json 请求的返回格式：
 * */
@Setter
@Getter
public class ResultJson implements Serializable {
    //json返回结果：
    private boolean result;
    //json返回异常信息：
    private String message;
    //json返回数据：
    private Object data;

    public ResultJson(boolean result){
        this.result=result;
    }

    //获得数据成功：(返回信息和数据)
    public static ResultJson success(String message,Object data){
        ResultJson resultJson = new ResultJson(true);
        resultJson.setMessage(message);
        resultJson.setData(data);
        return resultJson;
    }
    //获得数据成功：(只返回数据)
    public static ResultJson success(Object data){
        ResultJson resultJson = new ResultJson(true);
        resultJson.setData(data);
        return resultJson;
    }
    //获得数据成功：(什么都不返回，比如：查询和插入)
    public static ResultJson success(){
        ResultJson resultJson = new ResultJson(true);
        return resultJson;
    }

    //获得数据失败：(只返回信息就行了：)
    public static ResultJson fail(String message){
        ResultJson resultJson = new ResultJson(false);
        resultJson.setMessage(message);
        return resultJson;
    }

    //很多地方都需要用map构造：
    public Map<String,Object> toMap(){
        Map<String, Object> map = new HashMap<>();
        map.put("result",result);
        map.put("message",message);
        map.put("data",data);
        return map;
    }
}
